# delimit ;
clear ;
set more off ;
est drop _all ;
cd "R:/personlig/fenellac/menarche_replication/analysis/" ;

global plusdir "R:/personlig/fenellac/stata_ado/plus/" ;
sysdir set PLUS $plusdir ;
adopath ++ $plusdir ;

* **************************************************************************** ;
* This code replicates Appendix A, Table 2.
*
* Paper: "Age of Marriage and Women's Political Engagement: Evidence from India"
* Authors: Fenella Carpena, Francesca Jensenius
* 
* Code by Fenella Carpena
* Last update: April 30, 2020
* **************************************************************************** ;

****************************************************************************** ;
* select the sample
****************************************************************************** ;

use "./input/eligible-women-ihds02-lhs.dta", clear ;
merge 1:1 IDHH PERSONID using "./input/eligible-women-ihds02-rhs.dta" ;
tab _merge ;
assert _merge == 3 ;
drop _merge ;

* keep only women who are married only once (i.e., have not ever remarried) ;
drop if ever_remarried == 1 ;
  
* keep only women age of menarche between 11-18 (1st-99th pctile) ; 
summ menarche_age ;
keep if menarche_age >= 11 & menarche_age <= 18 ;

* generating district identifier ;
egen dt_id = group(STATEID DISTID) ;

****************************************************************************** ;
* label variables for the output table 
****************************************************************************** ;

local political "attended_panchayat discuss_politics member_pol_org" ;

label var attended "\shortstack[c]{Attended village \\ council meeting \\ last year}" ;
label var discuss_politics "\shortstack[c]{Discusses politics \\ and community \\ with husband}" ;
label var member_pol_org "\shortstack[c]{Participates in \\ a political \\ organization}" ;

label var marriage_age "Marriage Age" ;

****************************************************************************** ;
* TABLE: IV regressions 
****************************************************************************** ;

* length of marriage, above/below median (around 17 years) ; 
gen length_of_marriage = age - marriage_age if married ; 
summ length_of_marriage, detail ;
gen below = length_of_marriage <= 17 if length_of_marriage != . ;

****************************************************************************** ;
* Panel A: Full Sample, Rural and Urban Women ;
****************************************************************************** ;
est drop _all ;

foreach var of varlist `political' { ;
	di "*********************    `var'     *********************" ;
 	ivreghdfe `var' height_measure hindu muslim sc st obc age mother_yrs_educ father_yrs_educ (marriage_age = menarche_age) if below == 1, a(dt_id) robust ;
	est sto `var'1 ;
	estadd local distFE "Yes" ;
	estadd local sample "Below Median" ;

 	ivreghdfe `var' height_measure hindu muslim sc st obc age mother_yrs_educ father_yrs_educ (marriage_age = menarche_age) if below == 0, a(dt_id) robust ;
	est sto `var'0 ;
	estadd local distFE "Yes" ;
	estadd local sample "Above Median" ;
} ;

esttab attended* discuss* member* using "./output/table-hetero-length-of-marriage-panel-a-full.tex",
	replace
	drop(height_measure hindu muslim sc st obc age mother_yrs_educ father_yrs_educ) 
	cells(b(label() star fmt(%9.3f %9.3f)) se(par)) 
	star(* 0.10 ** 0.05 *** 0.01) 
	stats(sample N, fmt(%20s %9.0f) labels("Sample" "Observations"))
	prehead(\begin{table}[p]\centering `"\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}"'
		\captionsetup{justification=centering} 
		\caption{Below vs. Above Median Length of Marriage}
		\label{table-hetero-length-of-marriage}
		\begin{subtable}[h]{\linewidth}
		\centering
		\caption*{\normalsize Panel A: Rural and Urban Women}
		\vspace{-4ex}
		\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
		\begin{tabular*}{\hsize}{@{\hskip\tabcolsep\extracolsep\fill}lp{1.75cm}p{1.75cm}p{1.5cm}p{1.5cm}p{1.5cm}p{1.5cm}}
		\label{table-hetero-length-of-marriage-panel-a-full} \\ 
		\toprule)
	nodepvars nomtitles
	legend label  booktabs  collabels( , none)
	mgroups(
	"\shortstack[c]{Attended village (rural) \\ or municipal (urban) \\ council meeting last year}"
	"\shortstack[c]{Discusses politics \\and community \\ with husband}"
	"\shortstack[c]{Participates in \\ a political \\ organization}" 
	, pattern(1 0 1 0 1 0) prefix(\multicolumn{@span}{c}{) suffix(}) span erepeat(\cmidrule(lr){@span}))
	postfoot(`"\midrule"'  \end{tabular*} \end{subtable} ) ;
	
****************************************************************************** ;
* Panel B: Rural Sample ;
****************************************************************************** ;
est drop _all ;

foreach var of varlist `political' { ;
	di "*********************    `var'     *********************" ;
 	ivreghdfe `var' height_measure hindu muslim sc st obc age mother_yrs_educ father_yrs_educ (marriage_age = menarche_age) if below == 1 & rural == 1, a(dt_id) robust ;
	est sto `var'1 ;
	estadd local distFE "Yes" ;
	estadd local sample "Below Median" ;

 	ivreghdfe `var' height_measure hindu muslim sc st obc age mother_yrs_educ father_yrs_educ (marriage_age = menarche_age) if below == 0 & rural == 1, a(dt_id) robust ;
	est sto `var'0 ;
	estadd local distFE "Yes" ;
	estadd local sample "Above Median" ;
} ;
	
esttab attended* discuss* member* using "./output/table-hetero-length-of-marriage-panel-b-rural.tex",
	replace
	drop(height_measure hindu muslim sc st obc age mother_yrs_educ father_yrs_educ) 
	cells(b(label() star fmt(%9.3f %9.3f)) se(par)) 
	star(* 0.10 ** 0.05 *** 0.01) 
	stats(sample N, fmt(%20s %9.0f) labels("Sample" "Observations"))
	prehead(\smallskip
	\subcaption*{\normalsize Panel B: Rural Women}
	\label{table-hetero-length-of-marriage-panel-b-rural} \vspace{-2ex}
	\begin{tabular*}{\hsize}{@{\hskip\tabcolsep\extracolsep\fill}lp{1.75cm}p{1.75cm}p{1.5cm}p{1.5cm}p{1.5cm}p{1.5cm}}  
	\midrule)
	nodepvars nomtitles
	legend label  booktabs  collabels( , none)
	postfoot(`"\midrule"'  \end{tabular*}) ;	

****************************************************************************** ;
* Panel C: Urban Women ;
****************************************************************************** ;
est drop _all ;

foreach var of varlist `political' { ;
	di "*********************    `var'     *********************" ;
 	ivreghdfe `var' height_measure hindu muslim sc st obc age mother_yrs_educ father_yrs_educ (marriage_age = menarche_age) if below == 1 & rural == 0, a(dt_id) robust ;
	est sto `var'1 ;
	estadd local distFE "Yes" ;
	estadd local sample "Below Median" ;

 	ivreghdfe `var' height_measure hindu muslim sc st obc age mother_yrs_educ father_yrs_educ (marriage_age = menarche_age) if below == 0 & rural == 0, a(dt_id) robust ;
	est sto `var'0 ;
	estadd local distFE "Yes" ;
	estadd local sample "Above Median" ;
} ;

esttab attended* discuss* member* using "./output/table-hetero-length-of-marriage-panel-c-urban.tex",
	replace
	drop(height_measure hindu muslim sc st obc age mother_yrs_educ father_yrs_educ) 
	cells(b(label() star fmt(%9.3f %9.3f)) se(par)) 
	star(* 0.10 ** 0.05 *** 0.01) 
	stats(sample N, fmt(%20s %9.0f) labels("Sample" "Observations"))
	prehead(\smallskip
	\subcaption*{\normalsize Panel C: Urban Women}
	\label{table-hetero-length-of-marriage-panel-c-urban} \vspace{-2ex}
	\begin{tabular*}{\hsize}{@{\hskip\tabcolsep\extracolsep\fill}lp{1.75cm}p{1.75cm}p{1.5cm}p{1.5cm}p{1.5cm}p{1.5cm}} 
	\midrule)
	nodepvars nomtitles
	legend label  booktabs  collabels( , none)
	postfoot(`"\bottomrule"'  \end{tabular*} 
	\captionsetup{justification=justified}
	\caption*{\small \textit{Notes:} 
		IV regression. \textit{Marriage Age} is instrumented with \textit{Menarche Age}.
		Data from IHDS 2011--12, currently married women. 
		The sample in the odd (even) columns consist of women who have been married for 18 or fewer (19 or more) years.
		All regressions include district FEs, height, age, parents' education, household caste, religion. 
		Regressions in Panel A include a rural dummy.
		Robust SEs in parenthesis. ***\$\,p < 0.01$, **\$\,p < 0.05$, *\$\,p<0.10$.\looseness=-1}
		\end{table}) ;

exit ;
	
